package com.meida.module.bus.client.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.meida.common.mybatis.annotation.TableAlias;
import com.meida.common.mybatis.base.entity.AbstractEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * @author flyme
 * @date 2022-03-01
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("bus_order")
@TableAlias("myOrder")
@ApiModel(value = "BusOrder对象", description = "")
public class BusOrder extends AbstractEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "orderId", type = IdType.ASSIGN_ID)
    private Long orderId;

    @ApiModelProperty(value = "订单编号")
    private String orderNo;

    @ApiModelProperty(value = "下单人")
    private Long userId;

    @ApiModelProperty(value = "订单类型（1普通订单,2贵宾厅预约订单,3贵宾通道预约订单,4延误险订单,5转卡订单,6充值订单）")
    private Integer orderType;

    @ApiModelProperty(value = "支付类型（PAY_WX微信  PAY_ALI支付宝 3线下PAY_UNDERLINE 4 PAY_BALANCE余额支付）")
    private String payType;

    @ApiModelProperty(value = "订单状态（1待付款，2已付款,3已退款）")
    private Integer orderStatus;

    @ApiModelProperty(value = "(1非购物车，2购物车)")
    private Integer buySource;

    @ApiModelProperty(value = "用户备注")
    private String remark;

    @ApiModelProperty(value = "订单总金额")
    private BigDecimal totalPrice;

    @ApiModelProperty(value = "验证码")
    private String orderCode;

    @ApiModelProperty(value = "如果支付方式为线下  是否确认（1已确认，2未确认）")
    private Integer isCheck;

    @ApiModelProperty(value = "推荐人Id同员工Id同accountId")
    private Long employeeId;

    @ApiModelProperty(value = "过期时间")
    private String expireDate;

    @ApiModelProperty(value = "线下支付（销售人员收款验证时选择）")
    private Long paywayId;

    @ApiModelProperty(value = "支付时间")
    private String payDate;

    private Long airportId;

    @ApiModelProperty(value = "支付参数")
    private Long payparamId;

    @ApiModelProperty(value = "支付入口")
    private Integer payEntranceType;

    @ApiModelProperty(value = "(订单是否完成 1已完成 2，未完成)")
    private Integer isEnd;

    private String refundRemark;

    @ApiModelProperty(value = "是否处理(0未处理，1已处理）")
    private Integer isDeal;

    @ApiModelProperty(value = "删除状态")
    private Integer delState;

    @ApiModelProperty(value = "下单公众号")
    private Long weChatId;

    @ApiModelProperty(value = "易宝订单token,再次调取支付时用到")
    private String yiBaoOrderToken;

    private String yiBaoUniqueOrderNo;

    @ApiModelProperty(value = "电子签名Id")
    private String accountElesignId;

    @ApiModelProperty(value = "订单来源(0前端下单,1大客户下单,2合作公司下单)")
    private Integer sourceType;

    @ApiModelProperty(value = "回调地址(生成用户物品回传给调用方)")
    private String goodsCallbackUrl;

    @ApiModelProperty(value = "回调地址(核验时回调给调用方)")
    private String goodsStateCallbackUrl;

    private Integer isCallbackSuccess1;

    private Integer isCallbackSuccess2;

    @ApiModelProperty(value = "公司下单时用户的唯一标识")
    private String thirdMemberId;

    @ApiModelProperty(value = "生成物品的起始日期,计算有效期用")
    private String flightDate;

}
